package cn.stronglink.asset.module.dam.utils.factorys.realtime.common;

import java.io.UnsupportedEncodingException;

/**
 * 处理指令： 数据部分转 ASCII 格式，单位符号部分转16进制
 */
public class FactoryDatas {
	/**
	 * 第一步 和第二步 ： 添加画面ID 和 控件ID
	 */
	public static String changeScreenidOrpartNoToHex(int screenidOrpartid) {
		StringBuilder builder=null;
		if (screenidOrpartid < 16) {
			builder=new StringBuilder("000");
		} else {
			builder=new StringBuilder("00");
		}
		 builder.append(Integer.toHexString(screenidOrpartid).toString().toUpperCase());
		
		//System.out.println("屏幕/控件part编号: 加入0===>" + builder.toString());
		return builder.toString();
	}

	/**
	 * 第三步： 加入指令的： 数据值
	 */
	public static String addData(Object sensorDatas) {
		 StringBuilder builder = new StringBuilder();
		try {
			byte[] res = String.valueOf(sensorDatas).getBytes("GBK");

			if (res != null) {
				for (int i = 0; i < res.length; i++) {
					builder.append(Integer.toString((res[i] & 0xff) + 0x100, 16).substring(1));
				}
			}
			
			return builder.toString().toUpperCase();
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		}
		
		return "";
	}
	
//	public static void main(String[] args) {
//		System.out.println(addData(12) );
//	}
}
